#!/bin/bash

# Nombre: base.inc.sh
# Autor: Luis Guillen
# Fecha: 2008-11-16
# Descipcion:
#   Esta libreria proporciona las funciones y constantes básicas
#   Esta función es requerida por todos los módulos

FICHERO_LOG="/var/log/ceutdeploy.log"

USUARIO=`whoami`

if [ $USUARIO != 'root' ]
then
        echo "ERROR!! Debe ejecutarse el script como superusuario"
        exit 1
fi


FECHAHORA=`date +%Y%m%d-%H%M%S`
FECHA=`date +%Y%m%d`

#Ubicaciones del software
CEUTDEPLOY=/root/ceutdeploy

export CHNTPW=${CEUTDEPLOY}/utils/chntpw


obtenFechaHora()
{
	echo `date +%Y%m%d-%H%M%S`
}

# Escribe a fichero y muestra por pantalla
escribeLog()
{
        echo $1
	FECHAHORA=`obtenFechaHora`
        echo "$FECHAHORA;$SSH_CLIENT;$1" >> $FICHERO_LOG
}

# No tira el log por pantalla
escribeLogSilencioso()
{
	FECHAHORA=`obtenFechaHora`
        echo "$FECHAHORA;$SSH_CLIENT;$1" >> $FICHERO_LOG
}

# Devuelve 0 si la variable pasada se encuentra definida
defined()
{
	[ ${!1-X} == ${!1-Y} ]
}

testOnline()
{
        nombreMaquina=$1

        maquinaUp=0
        fping $nombreMaquina > /dev/null  && maquinaUp=1

        if [ $maquinaUp -eq 0 ]
        then
                escribeLog "$nombreMaquina se encuentra OFFLINE!!"
                return 1
        fi
        escribeLog "$nombreMaquina se encuentra Online"
}

esDireccionIp()
{
	echo $1 | egrep '^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$' > /dev/null
	if [ $? -eq 0 ]; then
		escribeLog "$1 es una direccion ip"
		return 0
	else
		escribeLog "$1 es un nombre"
		return 1
	fi
}
